home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- IEN 92
-
-
- Protocol Options
-
-
-
-
-
- Jon Postel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2 May 1979
-
-
-
-
-
- Information Sciences Institute
- University of Southern California
- 4676 Admiralty Way
- Marina del Rey, California 90291
-
- (213) 822-1511
-
-
-
-
- IEN-92 J. Postel
- ISI
- 2 May 1979
-
-
-
- PROTOCOL OPTIONS
- ----------------
-
- Introduction
- ------------
-
- This memo collectes the definition of the various options used in the
- Internet protocols, in particular the options from Internet
- Protocol (IN) [1] and Transmission Control Protocol (TCP) [2].
-
- Internet Protocol Options
- -------------------------
-
- The option field is variable in length. The format is an option-type
- octet, an option-length octet, and the actual option-data octets. There
- are two special case options which have only the option-type octet.
-
- The option-length octet, which follows, includes the option-type octet
- and the option-length octet in the octet count of the option length.
-
- The option-type octet can be viewed as having 3 fields:
-
- 1 bit reserved, must be zero
- 2 bits option class,
- 5 bits option number.
-
- The option classes are:
-
- 0 = control
- 1 = internet error
- 2 = experimental debugging and measurement
- 3 = reserved for future use
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Postel [page 1]
-
-
-
- 2 May 1979
- Protocol Options IEN 92
-
-
-
- The following internet options are defined:
-
- CLASS NUMBER LENGTH DESCRIPTION
- ----- ------ ------ -----------
- 0 0 - End of Option list. This option occupies only 1
- octet; it has no length octet.
- 0 1 - No Operation. This option occupies only 1 octet;
- it has no length octet.
- 0 2 4 S/P/T. Used to carry Security, Precedence, and
- user group (TCC) information compatible with
- AUTODIN II requirements.
- 0 3 var. Source Routing. Used to route the internet packet
- based on information supplied by the source.
- 0 4 var. BCR Open.
- 0 5 var. BCR Close.
- 0 6 var. BCR other.
- 0 7 var. Return Route. Used to record the route taken by
- an internet packet.
- 1 1 var. General Error Report. Used to report errors in
- internet packet processing.
- 2 4 4 Internet Timestamp. Used to carry timestamping
- information.
- 2 5 4 Satellite Timestamp. Used as above for
- special satellite network testing.
-
- Specific Option Definitions
-
- End of Option List
-
- +--------+
- |00000000|
- +--------+
- Type=0
-
- This option indicates the end of the option list. This might not
- coincide with the end of the internet header according to the
- internet header length. This is used at the end of all options, not
- the end of each option, and need only be used if the end of the
- options would not otherwise coincide with the end of the internet
- header.
-
-
-
-
-
-
-
-
-
- [page 2] Postel
-
-
-
- 2 May 1979
- IEN 92 Protocol Options
-
-
-
- No Operation
-
- +--------+
- |00000001|
- +--------+
- Type=1
-
- This option may be used between options, for example, to align the
- beginning of a subsequent option on a 32 bit boundary.
-
- S/P/T
-
- This option provides a way for AUTODIN II hosts to send security,
- precedence, and TCC (closed user groups) parameters through networks
- whose transport leader does not contain fields for this information.
- The format for this option is as follows:
-
- +--------+--------+---------+--------+
- |00000010|00000100|Prec|Sec | TCC |
- +--------+--------+---------+--------+
- Type=2 Length=4
-
- Precedence: 4 bits
-
- Specifies one of 16 levels of precedence
-
- Security: 4 bits
-
- Specifies one of 16 levels of security
-
- Transmission Control Code: 8 bits
-
- Provides a means to compartmentalize traffic and define controlled
- communities of interest among subscribers.
-
- This option might be used between hosts on the AUTODIN II network
- and other networks, such as the EDN at DCEC.
-
-
-
-
-
-
-
-
-
-
-
-
- Postel [page 3]
-
-
-
- 2 May 1979
- Protocol Options IEN 92
-
-
-
- Source Route
-
- +--------+--------+--------+---------//--------+
- |00000011| length | source route |
- +--------+--------+--------+---------//--------+
- Option=3
-
- The source route option provides a means for the source of an
- internet datagram to supply routing information to be used by the
- gateways in forwarding the datagram to the destination.
-
- The option begins with the option type code. The second octet is
- the option length which includes the option type code and the length
- octet, as well as length-2 octets of source route data.
-
- A source route is composed of a series of internet addresses. Each
- internet address is 32 bits or 4 octets. The length defaults to
- two, which indicates the source route is empty and the remaining
- routing is to be based on the destination address field.
-
- If the address in destination address field has been reached and the
- length is not two, the next address in the source route replaces the
- address in the destination address field, and that address is
- deleted from the source route and the length is reduced by four.
-
- Return Route
-
- +--------+--------+--------+---------//--------+
- |00000111| length | return route |
- +--------+--------+--------+---------//--------+
- Option=7
-
- The return route option provides a means to record the route of an
- internet datagram.
-
- The option begins with the option type code. The second octet is
- the option length which includes the option type code and the length
- octet, as well as length-2 octets of return route data.
-
- A return route is composed of a series of internet addresses. The
- length defaults to two, which indicates the return route is empty.
-
- When an internet module routes a datagram it checks to see if the
- return route option is present. If it is, it inserts its own
- internet address as known in the environment into which this
-
-
-
-
- [page 4] Postel
-
-
-
- 2 May 1979
- IEN 92 Protocol Options
-
-
-
- datagram is being forwarded into the return route at the front of
- the address string and increments the length by four.
-
- BCR Options
-
- BCR OPEN
-
- +--------+--------+------
- |00000100| length | data
- +--------+--------+------
- Type=4
-
- BCR CLOSE
-
- +--------+--------+------
- |00000101| length | data
- +--------+--------+------
- Type=5
-
- BCR OTHER
-
- +--------+--------+------
- |00000110| length | data
- +--------+--------+------
- Type=6
-
- These options are used with the BCR.
-
- General Error Report
-
- +--------+--------+--------+--------+--------//--------+
- |00100001| length |err code| id | |
- +--------+--------+--------+--------+--------//--------+
- Type=33
-
- The general error report is used to report an error detected in
- processing an internet packet to the originator of that packet. The
- "err code" indicates the type of error detected and the "id" is
- copied from the identification field of the packet in error,
- additional octets of error information may be present depending on
- the err code.
-
- ERR CODE:
-
- 0 - Undetermined Error, used when no information is available
- about the type of error or the error does not fit any defined
-
-
-
- Postel [page 5]
-
-
-
- 2 May 1979
- Protocol Options IEN 92
-
-
-
- class. Following the id should be as much of the datagram as fits
- in the option space.
-
- No err codes have been defined for specific classes as yet.
-
- Internet Timestamp
-
- +--------+--------+--------+--------+--------+--------+
- |01000100|00000100| time in milliseconds |
- +--------+--------+--------+--------+--------+--------+
- Type=68 Length=4
-
- The data of the timestamp is a 32 bit time measured in milliseconds.
-
- Satellite Timestamp
-
- +--------+--------+--------+--------+--------+--------+
- |01000101|00000100| time in milliseconds |
- +--------+--------+--------+--------+--------+--------+
- Type=69 Length=4
-
- The data of the timestamp is a 32 bit time measured in milliseconds.
-
- The options are just that, optional. That is, the presence or absence
- of an option is the choice of the sender, but each internet module must
- understand how to process every option.
-
- Transmission Control Protocol Options
- -------------------------------------
-
- Options may occupy space at the end of the TCP header and are a multiple
- of 8 bits in length. All options are included in the checksum. An
- option may begin on any octet boundary. All options have the same basic
- format:
-
- Option kind: 8 bits
-
- Option length: 8 bits
-
- Length in octets (including the two octets of length and kind
- information)
-
- There are two special cases for options.
-
- The first is the End-of-Options option. Only one octet is
- associated with this option, the kind octet itself.
-
-
-
- [page 6] Postel
-
-
-
- 2 May 1979
- IEN 92 Protocol Options
-
-
-
- The second is the No-Operation option and is also one octet long.
-
- Note that the list of options may be shorter than the data offset
- field might imply. The content of the header beyond the End-of-Option
- option should be header padding (i.e., zero).
-
- Currently defined options include (kind indicated in octal):
-
- Kind Length Meaning
- ---- ------ -------
- 0 - End of option list.
- 1 - No-Operation.
- 100 - Reserved.
- 105 4 Buffer Size.
-
-
- Specific Option Definitions
-
- End of Option List
-
- +--------+
- |00000000|
- +--------+
- Kind=0
-
- This option code indicates the end of the option list. This might
- not coincide with the end of the TCP header according to the Data
- Offset field. This is used at the end of all options, not the end
- of each option, and need only be used if the end of the options
- would not otherwise coincide with the end of the TCP header.
-
- No-Operation
-
- +--------+
- |00000001|
- +--------+
- Kind=1
-
- This option code may be used between options, for example, to align
- the beginning of a subsequent option on a word boundary. There is
- no guarantee that senders will use this option, so receivers must be
- prepared to process options even if they do not begin on a word
- boundary.
-
-
-
-
-
-
- Postel [page 7]
-
-
-
- 2 May 1979
- Protocol Options IEN 92
-
-
- Buffer Size
-
- +--------+--------+---------+--------+
- |01000101|00000100| buffer size |
- +--------+--------+---------+--------+
- Kind=105 Length=4
-
- Buffer Size Option Data: 16 bits
-
- If this option is present, then it communicates the receive buffer
- size at the TCP which sends this segment. This field should only
- be sent in segments with the SYN control bit set. If this option
- is not used, the default buffer size of one octet is assumed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 8] Postel
-
-
-
- 2 May 1979
- IEN 92 Protocol Options
- References
-
-
-
- References
- ----------
-
- [1] Postel, J., "Internetwork Datagram Protocol -- Version 4,"
- IEN 80, USC-Information Sciences Institute, February 1979.
-
- [2] Postel, J., "Transmission Control Protocol -- Version 4,"
- IEN 81, USC-Information Sciences Institute, February 1979.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Postel [page 9]
-
-